gdouble width,
gdouble height)
{
- GdkRGBA fg_color, bg_color;
+ const GdkRGBA *fg_color, *bg_color;
GtkStateFlags flags;
gint exterior_size, interior_size, thickness, pad;
GtkBorderStyle border_style;
flags = gtk_style_context_get_state (context);
cairo_save (cr);
- gtk_style_context_get_color (context, flags, &fg_color);
- gtk_style_context_get_background_color (context, flags, &bg_color);
+ fg_color = _gtk_css_rgba_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
+ bg_color = _gtk_css_rgba_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BACKGROUND_COLOR));
gtk_style_context_get_border (context, flags, &border);
- border_style = _gtk_css_border_style_value_get
- (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_STYLE));
+ border_style = _gtk_css_border_style_value_get (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_STYLE));
border_width = MIN (MIN (border.top, border.bottom),
MIN (border.left, border.right));
if (border_style == GTK_BORDER_STYLE_SOLID)
{
- GdkRGBA border_color;
+ const GdkRGBA *border_color;
cairo_set_line_width (cr, border_width);
- gtk_style_context_get_border_color (context, flags, &border_color);
+ border_color = _gtk_css_rgba_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_COLOR));
cairo_rectangle (cr, x + 0.5, y + 0.5, exterior_size - 1, exterior_size - 1);
- gdk_cairo_set_source_rgba (cr, &bg_color);
+ gdk_cairo_set_source_rgba (cr, bg_color);
cairo_fill_preserve (cr);
- gdk_cairo_set_source_rgba (cr, &border_color);
+ gdk_cairo_set_source_rgba (cr, border_color);
cairo_stroke (cr);
}
- gdk_cairo_set_source_rgba (cr, &fg_color);
+ gdk_cairo_set_source_rgba (cr, fg_color);
if (flags & GTK_STATE_FLAG_INCONSISTENT)
{
gdouble height)
{
GtkStateFlags flags;
- GdkRGBA fg_color, bg_color;
+ const GdkRGBA *fg_color, *bg_color;
gint exterior_size, interior_size, pad, thickness, border_width;
GtkBorderStyle border_style;
GtkBorder border;
cairo_save (cr);
- gtk_style_context_get_color (context, flags, &fg_color);
- gtk_style_context_get_background_color (context, flags, &bg_color);
+ fg_color = _gtk_css_rgba_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
+ bg_color = _gtk_css_rgba_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BACKGROUND_COLOR));
gtk_style_context_get_border (context, flags, &border);
- border_style = _gtk_css_border_style_value_get
- (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_STYLE));
+ border_style = _gtk_css_border_style_value_get (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_STYLE));
exterior_size = MIN (width, height);
border_width = MIN (MIN (border.top, border.bottom),
if (border_style == GTK_BORDER_STYLE_SOLID)
{
- GdkRGBA border_color;
+ const GdkRGBA *border_color;
cairo_set_line_width (cr, border_width);
- gtk_style_context_get_border_color (context, flags, &border_color);
+ border_color = _gtk_css_rgba_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_COLOR));
cairo_new_sub_path (cr);
cairo_arc (cr,
(exterior_size - 1) / 2.,
0, 2 * G_PI);
- gdk_cairo_set_source_rgba (cr, &bg_color);
+ gdk_cairo_set_source_rgba (cr, bg_color);
cairo_fill_preserve (cr);
- gdk_cairo_set_source_rgba (cr, &border_color);
+ gdk_cairo_set_source_rgba (cr, border_color);
cairo_stroke (cr);
}
- gdk_cairo_set_source_rgba (cr, &fg_color);
+ gdk_cairo_set_source_rgba (cr, fg_color);
/* FIXME: thickness */
thickness = 1;
gdouble height)
{
GtkStateFlags flags;
- GdkRGBA outline_color, fg_color;
+ const GdkRGBA *outline_color, *fg_color;
double vertical_overshoot;
int diameter;
double radius;
cairo_save (cr);
flags = gtk_style_context_get_state (context);
- gtk_style_context_get_color (context, flags, &fg_color);
- gtk_style_context_get_border_color (context, flags, &outline_color);
+ fg_color = _gtk_css_rgba_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR));
+ outline_color = _gtk_css_rgba_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BORDER_TOP_COLOR));
is_rtl = (gtk_style_context_get_state (context) & GTK_STATE_FLAG_DIR_RTL);
line_width = 1;
cairo_set_line_width (cr, line_width);
- gdk_cairo_set_source_rgba (cr, &fg_color);
+ gdk_cairo_set_source_rgba (cr, fg_color);
cairo_fill_preserve (cr);
- gdk_cairo_set_source_rgba (cr, &outline_color);
+ gdk_cairo_set_source_rgba (cr, outline_color);
cairo_stroke (cr);
cairo_restore (cr);
gdouble width,
gdouble height)
{
- GtkStateFlags flags;
- GdkRGBA bg_color, lighter, darker;
+ const GdkRGBA *bg_color;
+ GdkRGBA lighter, darker;
GtkJunctionSides sides;
GtkThemingBackground bg;
gint xx, yy;
return;
cairo_save (cr);
- flags = gtk_style_context_get_state (context);
cairo_set_line_width (cr, 1.0);
sides = gtk_style_context_get_junction_sides (context);
- gtk_style_context_get_background_color (context, flags, &bg_color);
+ bg_color = _gtk_css_rgba_value_get_rgba (_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_BACKGROUND_COLOR));
- color_shade (&bg_color, 0.7, &darker);
- color_shade (&bg_color, 1.3, &lighter);
+ color_shade (bg_color, 0.7, &darker);
+ color_shade (bg_color, 1.3, &lighter);
_gtk_theming_background_init (&bg, context, x, y, width, height, sides);
has_image = _gtk_theming_background_has_background_image (&bg);